﻿using System;

namespace TestDxfDocument.toolingsystem
{
    /// <summary>
    /// ISO 12164-1:2001 HSK-具有法兰接触的空心锥度接口
    /// </summary>
    public class HollowTaperInterfaceDimensions
    {
        //锥柄号40 的尺寸参数
        private double b1 = 8.05;
        private double b2 = 9;
        private double b3 = 11;
        private double d1 = 40;
        private double d2 = 30.007;
        private double d3 = 21;
        private double d4 = 25.5;
        private double d5 = 23;
        private double d6 = 5;
        private double d7 = 21.8;
        private double d8 = 4.6;
        private double d9 = 34;
        private double d10 = 34.8;
        private double d11 = 45;
        private double d12 = 4;
        private double d13 = 8;
        private double d14 = 5;
        private double d15 = 12;
        private double e1 = 11;
        private double e2 = 12.88;
        private double f1 = 20;
        private double f2 = 35;
        private double f3 = 16;
        private double f4 = 2;
        private double f5 = 10;
        private double h1 = 17;
        private double h2 = 12;
        private double h3 = 5.2;
        private double l1 = 20;
        private double l2 = 4;
        private double l3 = 6;
        private double l4 = 3.5;
        private double l5 = 11.42;
        private double l6 = 8;
        private double l7 = 0.8;
        private double l8 = 6;
        private double l9 = 8;
        private double l10 = 21.5;
        private double l11 = 2.5;
        private double l12 = 12;
        private double r1 = 0.8;
        private double r2 = 1;
        private double r3 = 1.88;
        private double r4 = 5;
        private double r5 = 0.4;
        private double r6 = 1;
        private double r7 = 1;
        private double r8 = 2;
        private double r9 = 4.5;

        public static HollowTaperInterfaceDimensions getparam(String type)
        {
            HollowTaperInterfaceDimensions HTID = new HollowTaperInterfaceDimensions();
            if (type.Equals("HSK32"))
            {
                HTID.b1 = 7.05;
                HTID.b2 = 7;
                HTID.b3 = 9;
                HTID.d1 = 32;
                HTID.d2 = 24.007;
                HTID.d3 = 17;
                HTID.d4 = 20.5;
                HTID.d5 = 19;
                HTID.d6 = 4.2;
                HTID.d7 = 17.4;
                HTID.d8 = 4;
                HTID.d9 = 26;
                HTID.d10 = 26.5;
                HTID.d11 = 37;
                HTID.d12 = 4;
                HTID.d13 = 6;
                HTID.d14 = 3.5;
                HTID.d15 = 10;
                HTID.e1 = 8.82;
                HTID.e2 = 10.2;
                HTID.f1 = 20;
                HTID.f2 = 35;
                HTID.f3 = 16;
                HTID.f4 = 2;
                HTID.f5 = 10;
                HTID.h1 = 13;
                HTID.h2 = 9.5;
                HTID.h3 = 5.4;
                HTID.l1 = 16;
                HTID.l2 = 3.2;
                HTID.l3 = 5;
                HTID.l4 = 3;
                HTID.l5 = 8.92;
                HTID.l6 = 8;
                HTID.l7 = 0.8;
                HTID.l8 = 5;
                HTID.l9 = 6;
                HTID.l10 = 20;
                HTID.l11 = 2.5;
                HTID.l12 = 12;
                HTID.r1 = 0.6;
                HTID.r2 = 1;
                HTID.r3 = 1.38;
                HTID.r4 = 4;
                HTID.r5 = 0.4;
                HTID.r6 = 0.5;
                HTID.r7 = 1;
                HTID.r8 = 2;
                HTID.r9 = 3.5;
            }

            if (type.Equals("HSK50"))
            {
                HTID.b1 = 10.54;
                HTID.b2 = 12;
                HTID.b3 = 14;
                HTID.d1 = 50;
                HTID.d2 = 38.009;
                HTID.d3 = 26;
                HTID.d4 = 32;
                HTID.d5 = 29;
                HTID.d6 = 6.8;
                HTID.d7 = 26.6;
                HTID.d8 = 6;
                HTID.d9 = 42;
                HTID.d10 = 43;
                HTID.d11 = 59.3;
                HTID.d12 = 7;
                HTID.d13 = 10;
                HTID.d14 = 6.4;
                HTID.d15 = 16;
                HTID.e1 = 13.88;
                HTID.e2 = 16.26;
                HTID.f1 = 26;
                HTID.f2 = 42;
                HTID.f3 = 18;
                HTID.f4 = 3.75;
                HTID.f5 = 12.5;
                HTID.h1 = 21;
                HTID.h2 = 15.5;
                HTID.h3 = 5.1;
                HTID.l1 = 25;
                HTID.l2 = 5;
                HTID.l3 = 7.5;
                HTID.l4 = 4.5;
                HTID.l5 = 14.13;
                HTID.l6 = 10;
                HTID.l7 = 1;
                HTID.l8 = 7.5;
                HTID.l9 = 10;
                HTID.l10 = 23;
                HTID.l11 = 3;
                HTID.l12 = 19;
                HTID.r1 = 1;
                HTID.r2 = 1.5;
                HTID.r3 = 2.38;
                HTID.r4 = 6;
                HTID.r5 = 0.5;
                HTID.r6 = 1.5;
                HTID.r7 = 1;
                HTID.r8 = 2;
                HTID.r9 = 6;
            }

            if (type.Equals("HSK63"))
            {
                HTID.b1 = 12.54;
                HTID.b2 = 16;
                HTID.b3 = 18;
                HTID.d1 = 63;
                HTID.d2 = 48.010;
                HTID.d3 = 34;
                HTID.d4 = 40;
                HTID.d5 = 37;
                HTID.d6 = 8.4;
                HTID.d7 = 34.5;
                HTID.d8 = 7.5;
                HTID.d9 = 53;
                HTID.d10 = 55;
                HTID.d11 = 72.3;
                HTID.d12 = 7;
                HTID.d13 = 12;
                HTID.d14 = 8;
                HTID.d15 = 18;
                HTID.e1 = 17.99;
                HTID.e2 = 20.87;
                HTID.f1 = 26;
                HTID.f2 = 42;
                HTID.f3 = 18;
                HTID.f4 = 3.75;
                HTID.f5 = 12.5;
                HTID.h1 = 26.5;
                HTID.h2 = 20;
                HTID.h3 = 5;
                HTID.l1 = 32;
                HTID.l2 = 6.3;
                HTID.l3 = 10;
                HTID.l4 = 6;
                HTID.l5 = 18.13;
                HTID.l6 = 10;
                HTID.l7 = 1;
                HTID.l8 = 9;
                HTID.l9 = 12;
                HTID.l10 = 24.5;
                HTID.l11 = 3;
                HTID.l12 = 21;
                HTID.r1 = 1.2;
                HTID.r2 = 1.5;
                HTID.r3 = 2.88;
                HTID.r4 = 8;
                HTID.r5 = 0.6;
                HTID.r6 = 1.5;
                HTID.r7 = 1.5;
                HTID.r8 = 3;
                HTID.r9 = 8;
            }

            if (type.Equals("HSK80"))
            {
                HTID.b1 = 16.04;
                HTID.b2 = 18;
                HTID.b3 = 20;
                HTID.d1 = 80;
                HTID.d2 = 60.012;
                HTID.d3 = 42;
                HTID.d4 = 50;
                HTID.d5 = 46;
                HTID.d6 = 10.2;
                HTID.d7 = 42.5;
                HTID.d8 = 8.5;
                HTID.d9 = 68;
                HTID.d10 = 70;
                HTID.d11 = 88.8;
                HTID.d12 = 7;
                HTID.d13 = 14;
                HTID.d14 = 10;
                HTID.d15 = 20;
                HTID.e1 = 21.94;
                HTID.e2 = 25.82;
                HTID.f1 = 26;
                HTID.f2 = 42;
                HTID.f3 = 18;
                HTID.f4 = 3.75;
                HTID.f5 = 16;
                HTID.h1 = 34;
                HTID.h2 = 25;
                HTID.h3 = 4.9;
                HTID.l1 = 40;
                HTID.l2 = 8;
                HTID.l3 = 12;
                HTID.l4 = 8;
                HTID.l5 = 22.85;
                HTID.l6 = 12.5;
                HTID.l7 = 1.5;
                HTID.l8 = 12;
                HTID.l9 = 14;
                HTID.l10 = 26;
                HTID.l11 = 3;
                HTID.l12 = 22;
                HTID.r1 = 1.6;
                HTID.r2 = 2;
                HTID.r3 = 3.88;
                HTID.r4 = 10;
                HTID.r5 = 0.8;
                HTID.r6 = 2;
                HTID.r7 = 1.5;
                HTID.r8 = 3;
                HTID.r9 = 9;
            }
            
            if (type.Equals("HSK100"))
            {
                HTID.b1 = 20.02;
                HTID.b2 = 20;
                HTID.b3 = 22;
                HTID.d1 = 100;
                HTID.d2 = 75.013;
                HTID.d3 = 53;
                HTID.d4 = 63;
                HTID.d5 = 58;
                HTID.d6 = 12;
                HTID.d7 = 53.8;
                HTID.d8 = 12;
                HTID.d9 = 88;
                HTID.d10 = 92;
                HTID.d11 = 109.75;
                HTID.d12 = 7;
                HTID.d13 = 16;
                HTID.d14 = 12;
                HTID.d15 = 24;
                HTID.e1 = 27.37;
                HTID.e2 = 32.25;
                HTID.f1 = 29;
                HTID.f2 = 45;
                HTID.f3 = 20;
                HTID.f4 = 3.75;
                HTID.f5 = 16;
                HTID.h1 = 44;
                HTID.h2 = 31.5;
                HTID.h3 = 4.9;
                HTID.l1 = 50;
                HTID.l2 = 10;
                HTID.l3 = 15;
                HTID.l4 = 10;
                HTID.l5 = 28.56;
                HTID.l6 = 12.5;
                HTID.l7 = 1.5;
                HTID.l8 = 15;
                HTID.l9 = 16;
                HTID.l10 = 28;
                HTID.l11 = 3;
                HTID.l12 = 24;
                HTID.r1 = 2;
                HTID.r2 = 2;
                HTID.r3 = 4.88;
                HTID.r4 = 12;
                HTID.r5 = 1;
                HTID.r6 = 2;
                HTID.r7 = 1.5;
                HTID.r8 = 3;
                HTID.r9 = 10;
            }
            
            if (type.Equals("HSK125"))
            {
                HTID.b1 = 25.02;
                HTID.b2 = 25;
                HTID.b3 = 28;
                HTID.d1 = 125;
                HTID.d2 = 95.016;
                HTID.d3 = 67;
                HTID.d4 = 80;
                HTID.d5 = 73;
                HTID.d6 = 14;
                HTID.d9 = 111;
                HTID.d10 = 117;
                HTID.d11 = 134.75;
                HTID.d12 = 7;
                HTID.d13 = 18;
                HTID.d14 = 14;
                HTID.d15 = 30;
                HTID.e1 = 35.37;
                HTID.e2 = 41.25;
                HTID.f1 = 29;
                HTID.f2 = 45;
                HTID.f3 = 20;
                HTID.f4 = 3.75;
                HTID.h1 = 55.5;
                HTID.h2 = 39.5;
                HTID.h3 = 4.8;
                HTID.l1 = 63;
                HTID.l2 = 12.5;
                HTID.l3 = 19;
                HTID.l4 = 12;
                HTID.l5 = 36.27;
                HTID.l6 = 16;
                HTID.l7 = 2;
                HTID.l9 = 18;
                HTID.l10 = 30;
                HTID.l11 = 3.5;
                HTID.l12 = 24;
                HTID.r1 = 2.5;
                HTID.r2 = 2.5;
                HTID.r3 = 5.88;
                HTID.r4 = 16;
                HTID.r5 = 1.2;
                HTID.r7 = 1.5;
                HTID.r8 = 3;
                HTID.r9 = 5;
            }
            
            if (type.Equals("HSK160"))
            {
                HTID.b1 = 30.02;
                HTID.b2 = 32;
                HTID.b3 = 36;
                HTID.d1 = 160;
                HTID.d2 = 120.016;
                HTID.d3 = 85;
                HTID.d4 = 100;
                HTID.d5 = 92;
                HTID.d6 = 16;
                HTID.d9 = 144;
                HTID.d10 = 152;
                HTID.d11 = 169.75;
                HTID.d12 = 7;
                HTID.d13 = 20;
                HTID.d14 = 16;
                HTID.d15 = 35;
                HTID.e1 = 44.32;
                HTID.e2 = 52.2;
                HTID.f1 = 31;
                HTID.f2 = 47;
                HTID.f3 = 22;
                HTID.f4 = 3.75;
                HTID.h1 = 72;
                HTID.h2 = 50;
                HTID.h3 = 4.8;
                HTID.l1 = 80;
                HTID.l2 = 16;
                HTID.l3 = 23;
                HTID.l4 = 16;
                HTID.l5 = 45.98;
                HTID.l6 = 16;
                HTID.l7 = 2;
                HTID.l9 = 20;
                HTID.l10 = 32;
                HTID.l11 = 3.5;
                HTID.l12 = 24;
                HTID.r1 = 3.2;
                HTID.r2 = 2.5;
                HTID.r3 = 7.88;
                HTID.r4 = 20;
                HTID.r5 = 1.6;
                HTID.r7 = 1.5;
                HTID.r8 = 3;
                HTID.r8 = 5;
            }
            return HTID;
        }

        public double B1 => b1;

        public double B2 => b2;

        public double B3 => b3;

        public double D1 => d1;

        public double D2 => d2;

        public double D3 => d3;

        public double D4 => d4;

        public double D5 => d5;

        public double D6 => d6;

        public double D7 => d7;

        public double D8 => d8;

        public double D9 => d9;

        public double D10 => d10;

        public double D11 => d11;

        public double D12 => d12;

        public double D13 => d13;

        public double D14 => d14;

        public double D15 => d15;

        public double E1 => e1;

        public double E2 => e2;

        public double F1 => f1;

        public double F2 => f2;

        public double F3 => f3;

        public double F4 => f4;

        public double F5 => f5;

        public double H1 => h1;

        public double H2 => h2;

        public double H3 => h3;

        public double L1 => l1;

        public double L2 => l2;

        public double L3 => l3;

        public double L4 => l4;

        public double L5 => l5;

        public double L6 => l6;

        public double L7 => l7;

        public double L8 => l8;

        public double L9 => l9;

        public double L10 => l10;

        public double L11 => l11;

        public double L12 => l12;

        public double R1 => r1;

        public double R2 => r2;

        public double R3 => r3;

        public double R4 => r4;

        public double R5 => r5;

        public double R6 => r6;

        public double R7 => r7;

        public double R8 => r8;

        public double R9 => r9;
    }
}